(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 11.1' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[     50476,       1331]
NotebookOptionsPosition[     48044,       1268]
NotebookOutlinePosition[     48401,       1284]
CellTagsIndexPosition[     48358,       1281]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[
 RowBox[{"ClearAll", "[", "\"\<`*\>\"", "]"}]], "Input",ExpressionUUID->"a7c65aa8-9855-4208-8b17-9bf329e17ea7"],

Cell[CellGroupData[{

Cell["1.Basic data", "Title",
 CellChangeTimes->{{3.835903131467371*^9, 
  3.835903145654208*^9}},ExpressionUUID->"cd12e2d6-1bc9-4d5b-ab1e-\
76b9842134d2"],

Cell[BoxData[
 RowBox[{
  RowBox[{"rng", "=", 
   RowBox[{"{", 
    RowBox[{"0", ",", "2"}], "}"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.835903172622232*^9, 3.835903172767808*^9}, 
   3.8359038618088107`*^9},ExpressionUUID->"ec3e8cf8-f3b7-46f6-a083-\
9e10bd52206b"],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"Here", " ", "we", " ", "label", " ", "the", " ", "6", "j"}], "-", 
    RowBox[{"symbols", " ", "with", " ", "convention", " ", 
     RowBox[{"G", "^", 
      RowBox[{"{", 
       RowBox[{"i", ",", "j", ",", "k"}], "}"}]}], "_", 
     RowBox[{"{", 
      RowBox[{"l", ",", "m", ",", "n"}], "}"}]}]}], "=", 
   RowBox[{"G", "[", 
    RowBox[{"[", 
     RowBox[{"i", ",", "j", ",", "l", ",", "m", ",", "k", ",", "n"}], "]"}], 
    "]"}]}], "*)"}]], "Input",ExpressionUUID->"d86cc622-11ae-404e-9e6c-\
06c0358b480e"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{
    "These", " ", "codes", " ", "generate", " ", "the", " ", "symmetric", " ",
      "6"}], "-", 
    RowBox[{"j", " ", "symbols"}]}], "*)"}], "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{"T1", "[", 
      RowBox[{"{", 
       RowBox[{"i_", ",", "j_", ",", "k_", ",", "l_", ",", "m_", ",", "n_"}], 
       "}"}], "]"}], ":=", 
     RowBox[{"{", 
      RowBox[{"j", ",", "m", ",", "l", ",", "n", ",", "i", ",", "k"}], 
      "}"}]}], ";", 
    RowBox[{
     RowBox[{"T2", "[", 
      RowBox[{"{", 
       RowBox[{"i_", ",", "j_", ",", "k_", ",", "l_", ",", "m_", ",", "n_"}], 
       "}"}], "]"}], ":=", 
     RowBox[{"{", 
      RowBox[{"k", ",", "l", ",", "i", ",", "j", ",", "m", ",", "n"}], 
      "}"}]}], ";", 
    RowBox[{
     RowBox[{"T3", "[", 
      RowBox[{"{", 
       RowBox[{"i_", ",", "j_", ",", "k_", ",", "l_", ",", "m_", ",", "n_"}], 
       "}"}], "]"}], ":=", 
     RowBox[{"{", 
      RowBox[{"j", ",", "i", ",", "l", ",", "k", ",", "m", ",", "n"}], 
      "}"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     RowBox[{"Se", "[", 
      RowBox[{"x_", ",", "y_"}], "]"}], ":=", 
     RowBox[{"For", "[", 
      RowBox[{
       RowBox[{
        RowBox[{"m", "=", "x"}], ";", 
        RowBox[{"i", "=", "0"}]}], ",", 
       RowBox[{"i", "<", "y"}], ",", 
       RowBox[{"i", "++"}], ",", 
       RowBox[{"m", "=", 
        RowBox[{"Union", "[", 
         RowBox[{
          RowBox[{"Union", "[", 
           RowBox[{
            RowBox[{"Union", "[", 
             RowBox[{
              RowBox[{"T1", "/@", "m"}], ",", "m"}], "]"}], ",", 
            RowBox[{"T2", "/@", 
             RowBox[{"Union", "[", 
              RowBox[{
               RowBox[{"T1", "/@", "m"}], ",", "m"}], "]"}]}]}], "]"}], ",", 
          RowBox[{"T3", "/@", 
           RowBox[{"Union", "[", 
            RowBox[{
             RowBox[{"Union", "[", 
              RowBox[{
               RowBox[{"T1", "/@", "m"}], ",", "m"}], "]"}], ",", 
             RowBox[{"T2", "/@", 
              RowBox[{"Union", "[", 
               RowBox[{
                RowBox[{"T1", "/@", "m"}], ",", "m"}], "]"}]}]}], "]"}]}]}], 
         "]"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Se", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"{", 
        RowBox[{"0", ",", "2", ",", "2", ",", "2", ",", "2", ",", "2"}], 
        "}"}], "}"}], ",", "4"}], "]"}], ";", 
    RowBox[{"G", "@@@", "m"}]}]}]}]], "Input",
 CellChangeTimes->{{3.835903188759555*^9, 3.835903243857108*^9}, {
  3.835903890181013*^9, 3.835903899679723*^9}, {3.8359039560909452`*^9, 
  3.835903957966905*^9}, {3.8359040937588367`*^9, 3.835904121637961*^9}, {
  3.835904154980709*^9, 3.8359041787788153`*^9}, {3.835904223960513*^9, 
  3.83590424759426*^9}, {3.835907729973786*^9, 3.8359077332339673`*^9}, {
  3.835907796611538*^9, 3.8359078175238953`*^9}, {3.8359078661444817`*^9, 
  3.8359078709955845`*^9}, {3.8359079796737003`*^9, 
  3.835907979801468*^9}},ExpressionUUID->"8a58856a-826a-412a-a98e-\
3cf2430fdfa9"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"G", "[", 
    RowBox[{"0", ",", "2", ",", "2", ",", "2", ",", "2", ",", "2"}], "]"}], 
   ",", 
   RowBox[{"G", "[", 
    RowBox[{"2", ",", "0", ",", "2", ",", "2", ",", "2", ",", "2"}], "]"}], 
   ",", 
   RowBox[{"G", "[", 
    RowBox[{"2", ",", "2", ",", "0", ",", "2", ",", "2", ",", "2"}], "]"}], 
   ",", 
   RowBox[{"G", "[", 
    RowBox[{"2", ",", "2", ",", "2", ",", "0", ",", "2", ",", "2"}], "]"}], 
   ",", 
   RowBox[{"G", "[", 
    RowBox[{"2", ",", "2", ",", "2", ",", "2", ",", "0", ",", "2"}], "]"}], 
   ",", 
   RowBox[{"G", "[", 
    RowBox[{"2", ",", "2", ",", "2", ",", "2", ",", "2", ",", "0"}], "]"}]}], 
  "}"}]], "Output",
 CellChangeTimes->{{3.8359078133111696`*^9, 3.8359078184228287`*^9}, 
   3.8359078718084817`*^9, 3.8359079805568533`*^9, 3.8359080631529427`*^9, 
   3.835908588156494*^9, 3.83590864486008*^9, 
   3.8359086925845966`*^9},ExpressionUUID->"274b7a1a-e000-4469-86e9-\
e7582f93b679"]
}, Open  ]],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"G", "[", 
    RowBox[{"i_", ",", "j_", ",", "k_", ",", "l_", ",", "m_", ",", "n_"}], 
    "]"}], ":=", "0"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"{", 
    RowBox[{"G", "[", 
     RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "]"}], 
    "}"}], "=", 
   RowBox[{"{", "1", "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"G", "[", 
      RowBox[{"0", ",", "2", ",", "0", ",", "2", ",", "2", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "0", ",", "2", ",", "0", ",", "2", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "2", ",", "2", ",", "2", ",", "0", ",", "0"}], 
      "]"}]}], "}"}], "=", 
   RowBox[{"{", 
    RowBox[{
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]], ",", 
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]], ",", 
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]]}], "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"G", "[", 
      RowBox[{"0", ",", "2", ",", "2", ",", "2", ",", "2", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "0", ",", "2", ",", "2", ",", "2", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "2", ",", "0", ",", "2", ",", "2", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "2", ",", "2", ",", "0", ",", "2", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "2", ",", "2", ",", "2", ",", "0", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "2", ",", "2", ",", "2", ",", "2", ",", "0"}], 
      "]"}]}], "}"}], "=", 
   RowBox[{"{", 
    RowBox[{
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]], ",", 
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]], ",", 
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]], ",", 
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]], ",", 
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]], ",", 
     FractionBox["2", 
      RowBox[{"1", "+", 
       SqrtBox["5"]}]]}], "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"G", "[", 
      RowBox[{"0", ",", "0", ",", "2", ",", "2", ",", "0", ",", "2"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"0", ",", "2", ",", "2", ",", "0", ",", "2", ",", "0"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "0", ",", "0", ",", "2", ",", "2", ",", "0"}], "]"}], 
     ",", 
     RowBox[{"G", "[", 
      RowBox[{"2", ",", "2", ",", "0", ",", "0", ",", "0", ",", "2"}], 
      "]"}]}], "}"}], "=", 
   RowBox[{"{", 
    RowBox[{
     FractionBox["1", 
      SqrtBox[
       FractionBox[
        RowBox[{"1", "+", 
         SqrtBox["5"]}], "2"]]], ",", 
     FractionBox["1", 
      SqrtBox[
       FractionBox[
        RowBox[{"1", "+", 
         SqrtBox["5"]}], "2"]]], ",", 
     FractionBox["1", 
      SqrtBox[
       FractionBox[
        RowBox[{"1", "+", 
         SqrtBox["5"]}], "2"]]], ",", 
     FractionBox["1", 
      SqrtBox[
       FractionBox[
        RowBox[{"1", "+", 
         SqrtBox["5"]}], "2"]]]}], "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"{", 
    RowBox[{"G", "[", 
     RowBox[{"2", ",", "2", ",", "2", ",", "2", ",", "2", ",", "2"}], "]"}], 
    "}"}], "=", 
   RowBox[{"{", 
    FractionBox[
     RowBox[{"-", "1"}], 
     SuperscriptBox[
      RowBox[{"(", 
       FractionBox[
        RowBox[{"1", "+", 
         SqrtBox["5"]}], "2"], ")"}], "2"]], "}"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.835903925165535*^9, 3.8359039489697657`*^9}, {
   3.835904129984346*^9, 3.83590414955871*^9}, {3.8359041860220304`*^9, 
   3.8359041938451014`*^9}, {3.835904255111553*^9, 3.8359042865313654`*^9}, {
   3.8359052024648066`*^9, 3.835905300406207*^9}, {3.835905416610132*^9, 
   3.835905449611206*^9}, {3.8359066820468926`*^9, 3.835906730249074*^9}, {
   3.8359077668424606`*^9, 3.835907769318228*^9}, {3.8359078431873293`*^9, 
   3.835907881505433*^9}, 
   3.835907989651122*^9},ExpressionUUID->"427cf7b1-3a08-4fbe-b4d7-\
f3fe3bed0699"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"v", "[", "0", "]"}], "=", "1"}], ";", 
  RowBox[{
   RowBox[{"v", "[", "2", "]"}], "=", 
   SqrtBox[
    FractionBox[
     RowBox[{"1", "+", 
      SqrtBox["5"]}], "2"]]}], ";"}]], "Input",
 CellChangeTimes->{{3.8359062843909855`*^9, 3.8359063009526353`*^9}, {
   3.835906352516281*^9, 3.8359063584222326`*^9}, 
   3.8359076691015844`*^9},ExpressionUUID->"14cefa57-2b6f-4fa8-8089-\
95ab8cfbda13"],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"v", "[", 
    RowBox[{"{", 
     RowBox[{"a_Integer", ",", "b_"}], "}"}], "]"}], ":=", 
   RowBox[{"v", "[", "a", "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"dim", "[", "j_", "]"}], ":=", 
   RowBox[{
    RowBox[{"v", "[", "j", "]"}], "^", "2"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"delt", "[", 
    RowBox[{"i_Integer", ",", "j_Integer", ",", "k_Integer"}], "]"}], ":=", 
   RowBox[{
    RowBox[{"delt", "[", 
     RowBox[{"i", ",", "j", ",", "k"}], "]"}], "=", 
    RowBox[{
     RowBox[{
      RowBox[{"v", "[", "j", "]"}], 
      RowBox[{"v", "[", "k", "]"}], 
      RowBox[{"GG", "[", 
       RowBox[{"i", ",", "j", ",", "0", ",", "k", ",", "k", ",", "j"}], 
       "]"}]}], "//", "FullSimplify"}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"delt", "[", 
    RowBox[{"a___", ",", 
     RowBox[{"{", 
      RowBox[{"b_Integer", ",", "c_"}], "}"}], ",", "d___"}], "]"}], ":=", 
   RowBox[{"delt", "[", 
    RowBox[{"a", ",", "b", ",", "d"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"GG", "[", 
    RowBox[{"a___", ",", 
     RowBox[{"{", 
      RowBox[{"b_", ",", "c_"}], "}"}], ",", "d___"}], "]"}], ":=", 
   RowBox[{"GG", "[", 
    RowBox[{"a", ",", "b", ",", "d"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"GG", "[", "a__Integer", "]"}], ":=", 
   RowBox[{"G", "[", "a", "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.835906550929775*^9, 3.835906559792141*^9}, {
  3.8359068415473967`*^9, 3.835906841858587*^9}, {3.835907676969103*^9, 
  3.835907702764176*^9}, {3.8359080410962343`*^9, 
  3.835908050859311*^9}},ExpressionUUID->"d86518f5-d519-4b1c-aac5-\
c01dd4af35fd"]
}, Open  ]],

Cell[CellGroupData[{

Cell["2.Setting", "Title",
 CellChangeTimes->{{3.835908445097571*^9, 
  3.8359084487169046`*^9}},ExpressionUUID->"509c653d-4277-46a3-aeb3-\
c143f0c108d3"],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"triples", "[", "Arng_", "]"}], ":=", 
   RowBox[{"f", "@@@", 
    RowBox[{"Tuples", "[", 
     RowBox[{"Arng", ",", "3"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"fusionTriples", "[", "Arng_", "]"}], ":=", 
   RowBox[{
    RowBox[{"Select", "[", 
     RowBox[{
      RowBox[{
       RowBox[{"delt", "@@", "#"}], "\[Equal]", "1"}], "&"}], "]"}], "@", 
    RowBox[{"triples", "[", "Arng", "]"}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"subrng", "[", "n_", "]"}], ":=", 
  RowBox[{"Select", "[", 
   RowBox[{
    RowBox[{
     RowBox[{"#", "[", 
      RowBox[{"[", "1", "]"}], "]"}], "\[Equal]", "n"}], "&"}], 
   "]"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"unit", "=", 
   RowBox[{"{", 
    RowBox[{"0", ",", "1"}], "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"fusionCondition", "[", "Arng_", "]"}], ":=", 
   RowBox[{
    RowBox[{
     RowBox[{"Complement", "[", 
      RowBox[{
       RowBox[{"triples", "[", "Arng", "]"}], ",", 
       RowBox[{"fusionTriples", "[", "Arng", "]"}]}], "]"}], "\[Rule]", "0"}],
     "//", "Thread"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"nonDegeneracyCondition", "[", "Arng_", "]"}], ":=", 
   RowBox[{"uFlatten", "@", 
    RowBox[{"Table", "[", 
     RowBox[{
      RowBox[{
       RowBox[{"f", "[", 
        RowBox[{"unit", ",", "i", ",", "j"}], "]"}], "\[Rule]", 
       RowBox[{"KroneckerDelta", "[", 
        RowBox[{"i", ",", "j"}], "]"}]}], ",", 
      RowBox[{"{", 
       RowBox[{"i", ",", "Arng"}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{"j", ",", "Arng"}], "}"}]}], "]"}]}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"fusionReplace", "[", "Arng_", "]"}], ":=", 
   RowBox[{
    RowBox[{"fusionReplace", "[", "Arng", "]"}], "=", 
    RowBox[{"ReplaceAll", "[", 
     RowBox[{
      RowBox[{"fusionCondition", "[", "Arng", "]"}], "\[Union]", 
      RowBox[{"nonDegeneracyCondition", "[", "Arng", "]"}]}], "]"}]}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"cyclicCondition", "[", "Arng_", "]"}], ":=", 
   RowBox[{
    RowBox[{"Thread", "/@", 
     RowBox[{
      RowBox[{"(", 
       RowBox[{
        RowBox[{
         RowBox[{"Rest", "@", "#"}], "\[Rule]", 
         RowBox[{
          RowBox[{"fusionReplace", "[", "Arng", "]"}], "@", 
          RowBox[{"First", "@", "#"}]}]}], "&"}], ")"}], "/@", 
      RowBox[{
       RowBox[{"Select", "[", 
        RowBox[{
         RowBox[{
          RowBox[{"Length", "[", "#", "]"}], ">", "1"}], "&"}], "]"}], "@", 
       RowBox[{"(", 
        RowBox[{
         RowBox[{
          RowBox[{"Union", "[", 
           RowBox[{"NestList", "[", 
            RowBox[{"RotateLeft", ",", "#", ",", "2"}], "]"}], "]"}], "&"}], "/@", 
         RowBox[{"f", "@@@", 
          RowBox[{"Tuples", "[", 
           RowBox[{"Arng", ",", "3"}], "]"}]}]}], ")"}]}]}]}], "//", 
    "uFlatten"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"symmetryCondition", "[", "Arng_", "]"}], ":=", 
   RowBox[{
    RowBox[{"symmetryCondition", "[", "Arng", "]"}], "=", 
    RowBox[{
     RowBox[{"fusionCondition", "[", "Arng", "]"}], "\[Union]", 
     RowBox[{"nonDegeneracyCondition", "[", "Arng", "]"}], "\[Union]", 
     RowBox[{"cyclicCondition", "[", "Arng", "]"}]}]}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"symmetryReplace", "[", "Arng_", "]"}], ":=", 
   RowBox[{
    RowBox[{"symmetryCondition", "[", "Arng", "]"}], "//.", "rules"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"fEquations", "[", "Arng_", "]"}], ":=", 
   RowBox[{
    RowBox[{
     RowBox[{
      RowBox[{
       RowBox[{"(", 
        RowBox[{"Table", "~", "over", "~", "Arng"}], ")"}], "[", 
       RowBox[{
        RowBox[{"Table", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"Sum", "[", 
            RowBox[{
             RowBox[{
              RowBox[{"f", "[", 
               RowBox[{"a", ",", "gl", ",", "e"}], "]"}], 
              RowBox[{"f", "[", 
               RowBox[{"b", ",", "d", ",", "gl"}], "]"}]}], ",", 
             RowBox[{"{", 
              RowBox[{"gl", ",", 
               RowBox[{
                RowBox[{"subrng", "[", "g", "]"}], "[", "Arng", "]"}]}], 
              "}"}]}], "]"}], "\[Equal]", 
           RowBox[{"Sum", "[", 
            RowBox[{
             RowBox[{
              RowBox[{"GG", "[", 
               RowBox[{
               "a", ",", "b", ",", "c", ",", "d", ",", "e", ",", "g"}], "]"}], 
              RowBox[{"v", "[", "c", "]"}], 
              RowBox[{"v", "[", "g", "]"}], 
              RowBox[{"f", "[", 
               RowBox[{"a", ",", "b", ",", "c"}], "]"}], 
              RowBox[{"f", "[", 
               RowBox[{"c", ",", "d", ",", "e"}], "]"}]}], ",", 
             RowBox[{"{", 
              RowBox[{"c", ",", "Arng"}], "}"}]}], "]"}]}], ",", 
          RowBox[{"{", 
           RowBox[{"g", ",", "rng"}], "}"}]}], "]"}], ",", "a", ",", "b", ",",
         "d", ",", "e"}], "]"}], "//", 
      RowBox[{"symmetryReplace", "[", "Arng", "]"}]}], "//", "uFlatten"}], "//",
     "Simplify"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.835908197028675*^9, 3.8359082144573493`*^9}, {
  3.835908398184595*^9, 3.835908398663331*^9}, {3.8359085692842517`*^9, 
  3.8359085710419264`*^9}, {3.8359086423637967`*^9, 3.8359086428940783`*^9}, {
  3.8359086859287586`*^9, 
  3.835908690693617*^9}},ExpressionUUID->"22068351-f5d1-4dc9-a75f-\
01cdb4c35478"]
}, Open  ]],

Cell[CellGroupData[{

Cell["3.Algebra", "Title",
 CellChangeTimes->{{3.8359084588402047`*^9, 
  3.8359084625781207`*^9}},ExpressionUUID->"08169047-3854-42b4-89d2-\
20550adc0538"],

Cell[BoxData[{
 RowBox[{
  RowBox[{"Arng", "=", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"2", ",", "1"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"2", ",", "2"}], "}"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"dimA", "=", 
   RowBox[{
    RowBox[{"dim", "/@", 
     RowBox[{"First", "/@", "Arng"}]}], "//", "Total"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.83590849000434*^9, 
  3.8359085023643813`*^9}},ExpressionUUID->"72a3e070-caa7-454e-a588-\
5fa4f1a20e3b"],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"feq", "=", 
   RowBox[{"fEquations", "[", "Arng", "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"vars", "=", 
   RowBox[{
    RowBox[{"Cases", "[", 
     RowBox[{"feq", ",", 
      RowBox[{"f", "[", "__", "]"}], ",", "\[Infinity]"}], "]"}], "//", 
    "Union"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"inst1", "=", 
  RowBox[{
   RowBox[{"FindInstance", "[", 
    RowBox[{"feq", ",", "vars"}], "]"}], "//", "Simplify"}]}]}], "Input",Expre\
ssionUUID->"67c4dc11-a1a4-4c0d-a440-482e168578f6"],

Cell[BoxData[
 TemplateBox[{
  "Union","heads",
   "\"\:4f4d\:7f6e \\!\\(\\*RowBox[{\\\"2\\\"}]\\) \:548c \\!\\(\\*RowBox[{\\\
\"1\\\"}]\\) \:5904\:7684\:5934\:90e8 \\!\\(\\*RowBox[{\\\"uFlatten\\\"}]\\) \
\:548c \\!\\(\\*RowBox[{\\\"List\\\"}]\\) \
\:5e94\:8be5\:662f\:4e00\:6837\:7684.\"",2,373,12,30500012874478046441,
   "Local"},
  "MessageTemplate"]], "Message", "MSG",
 CellChangeTimes->{3.8359085885194674`*^9, 3.835908645000705*^9, 
  3.835908692738187*^9},ExpressionUUID->"21f3468e-6ff5-47fb-b7b9-\
541ccb9c355d"],

Cell[BoxData[
 TemplateBox[{
  "General","stop",
   "\"\:5728\:672c\:6b21\:8ba1\:7b97\:4e2d\:ff0c\\!\\(\\*StyleBox[RowBox[{\\\"\
ReplaceAll\\\", \\\"::\\\", \\\"reps\\\"}], \\\"MessageName\\\"]\\) \:7684\
\:8fdb\:4e00\:6b65\:8f93\:51fa\:5c06\:88ab\:6291\:5236.\"",2,373,16,
   30500012874478046441,"Local"},
  "MessageTemplate"]], "Message", "MSG",
 CellChangeTimes->{3.8359085885194674`*^9, 3.835908645000705*^9, 
  3.835908692851881*^9},ExpressionUUID->"8d49697c-e19e-40dc-9a21-\
d0a177a4e83d"],

Cell[BoxData[
 TemplateBox[{
  "Union","heads",
   "\"\:4f4d\:7f6e \\!\\(\\*RowBox[{\\\"2\\\"}]\\) \:548c \\!\\(\\*RowBox[{\\\
\"1\\\"}]\\) \:5904\:7684\:5934\:90e8 \\!\\(\\*RowBox[{\\\"uFlatten\\\"}]\\) \
\:548c \\!\\(\\*RowBox[{\\\"List\\\"}]\\) \
\:5e94\:8be5\:662f\:4e00\:6837\:7684.\"",2,373,17,30500012874478046441,
   "Local"},
  "MessageTemplate"]], "Message", "MSG",
 CellChangeTimes->{3.8359085885194674`*^9, 3.835908645000705*^9, 
  3.8359086928758173`*^9},ExpressionUUID->"2ce4c5ef-0bab-40aa-9239-\
3f681f491886"],

Cell[BoxData[
 TemplateBox[{
  "ReplaceRepeated","reps",
   "\"\\!\\(\\*RowBox[{\\\"{\\\", \\\"rules\\\", \\\"}\\\"}]\\) \:65e2\:4e0d\
\:662f\:66ff\:6362\:89c4\:5219\:5217\:8868\:ff0c\:4e5f\:4e0d\:662f\:4e00\:4e2a\
\:6709\:6548\:7684\:5206\:6d3e\:8868\:ff0c\:56e0\:6b64\:65e0\:6cd5\:7528\:6765\
\:66ff\:6362.\"",2,373,18,30500012874478046441,"Local"},
  "MessageTemplate"]], "Message", "MSG",
 CellChangeTimes->{3.8359085885194674`*^9, 3.835908645000705*^9, 
  3.8359086929007497`*^9},ExpressionUUID->"0863201f-4163-4bdc-a301-\
1d21e72d1ed0"],

Cell[BoxData[
 TemplateBox[{
  "FindInstance","naqs",
   "\"\\!\\(\\*RowBox[{\\\"uFlatten\\\", \\\"[\\\", \
RowBox[{RowBox[{\\\"(\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"1\\\", \\\"\
\[RightSkeleton]\\\"}], \\\")\\\"}], \\\"[\\\", RowBox[{RowBox[{\\\"over\\\", \
\\\"[\\\", RowBox[{\\\"Table\\\", \\\",\\\", RowBox[{\\\"{\\\", \
RowBox[{RowBox[{\\\"{\\\", RowBox[{\\\"0\\\", \\\",\\\", \\\"1\\\"}], \\\"}\\\
\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{\\\"2\\\", \\\",\\\", \
\\\"1\\\"}], \\\"}\\\"}], \\\",\\\", RowBox[{\\\"{\\\", RowBox[{\\\"2\\\", \\\
\",\\\", \\\"2\\\"}], \\\"}\\\"}]}], \\\"}\\\"}]}], \\\"]\\\"}], \\\"[\\\", \
RowBox[{RowBox[{\\\"{\\\", RowBox[{RowBox[{RowBox[{\\\"2\\\", \\\" \\\", \
RowBox[{\\\"f\\\", \\\"[\\\", RowBox[{\\\"a\\\", \\\",\\\", \
RowBox[{\\\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\
\[RightSkeleton]\\\"}], \\\"}\\\"}], \\\",\\\", \\\"e\\\"}], \\\"]\\\"}], \
\\\" \\\", RowBox[{\\\"f\\\", \\\"[\\\", RowBox[{\\\"b\\\", \\\",\\\", \
\\\"d\\\", \\\",\\\", RowBox[{\\\"{\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \
\\\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"}\\\"}]}], \\\"]\\\"}]}], \\\"\
\[Equal]\\\", RowBox[{RowBox[{\\\"2\\\", \\\" \\\", RowBox[{\\\"f\\\", \
\\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\
\"}], \\\"]\\\"}], \\\" \\\", RowBox[{\\\"f\\\", \\\"[\\\", RowBox[{\\\"\
\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\" \
\\\", RowBox[{\\\"GG\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"6\\\
\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"+\\\", \
RowBox[{RowBox[{\\\"Power\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\
\"2\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\" \\\", RowBox[{\\\"Plus\
\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"2\\\", \\\"\
\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\" \\\", RowBox[{\\\"GG\\\", \
\\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"6\\\", \\\"\[RightSkeleton]\\\
\"}], \\\"]\\\"}]}]}]}], \\\",\\\", \
RowBox[{RowBox[{RowBox[{RowBox[{\\\"f\\\", \\\"[\\\", RowBox[{\\\"\
\[LeftSkeleton]\\\", \\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\" \
\\\", RowBox[{\\\"f\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \
\\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\"+\\\", \
RowBox[{RowBox[{\\\"f\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \
\\\"3\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\" \\\", \
RowBox[{\\\"f\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"3\\\", \
\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}]}], \\\"\[Equal]\\\", \
RowBox[{FractionBox[\\\"1\\\", \\\"2\\\"], \\\" \\\", RowBox[{\\\"(\\\", \
RowBox[{RowBox[{\\\"Times\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\
\"4\\\", \\\"\[RightSkeleton]\\\"}], \\\"]\\\"}], \\\"+\\\", \
RowBox[{\\\"Times\\\", \\\"[\\\", RowBox[{\\\"\[LeftSkeleton]\\\", \\\"3\\\", \
\\\"\[RightSkeleton]\\\"}], \\\"]\\\"}]}], \\\")\\\"}]}]}]}], \\\"}\\\"}], \\\
\",\\\", \\\"a\\\", \\\",\\\", \\\"b\\\", \\\",\\\", \\\"d\\\", \\\",\\\", \\\
\"e\\\"}], \\\"]\\\"}], \\\"]\\\"}], \\\"]\\\"}]\\) \:4e0d\:662f\:7531\:65b9\
\:7a0b\:548c\:4e0d\:7b49\:5f0f\:7ec4\:6210\:7684\:4e00\:4e2a\:91cf\:5316\:7cfb\
\:7edf.\"",2,375,19,30500012874478046441,"Local"},
  "MessageTemplate"]], "Message", "MSG",
 CellChangeTimes->{3.8359085885194674`*^9, 3.835908645000705*^9, 
  3.8359086930114555`*^9},ExpressionUUID->"343dd9c8-33dc-4f8f-805d-\
e2eed0074cb4"],

Cell[BoxData[
 InterpretationBox[
  TagBox[
   FrameBox[GridBox[{
      {
       ItemBox[
        TagBox[
         RowBox[{"FindInstance", "[", 
          RowBox[{
           RowBox[{"uFlatten", "[", 
            RowBox[{
             RowBox[{"(", 
              RowBox[{
               RowBox[{
                RowBox[{"{", 
                 RowBox[{
                  RowBox[{
                   RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                   ",", 
                  RowBox[{
                   RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                   ",", 
                  RowBox[{
                   RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                   ",", 
                  RowBox[{
                   RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                   ",", 
                  RowBox[{
                   RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                   ",", 
                  RowBox[{
                   RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", 
                   "0"}]}], "}"}], "\[Union]", 
                TemplateBox[{"1"},
                 "OutputSizeLimit`Skeleton"], "\[Union]", 
                RowBox[{"uFlatten", "[", 
                 RowBox[{"{", 
                  RowBox[{
                   RowBox[{"{", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", 
                    RowBox[{
                    RowBox[{"ReplaceAll", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", 
                    "0"}]}], "}"}], "\[Union]", 
                    RowBox[{"uFlatten", "[", 
                    RowBox[{"{", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "1"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}]}], "]"}], "\[Rule]", 
                    "0"}]}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "1"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}]}], "]"}], "\[Rule]", 
                    "0"}]}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}]}], "]"}], "\[Rule]", 
                    "1"}]}], "}"}]}], "}"}], "]"}]}], "]"}], "[", 
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "]"}]}], ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", 
                    RowBox[{
                    RowBox[{"ReplaceAll", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", "0"}],
                     ",", 
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "\[Rule]", 
                    "0"}]}], "}"}], "\[Union]", 
                    RowBox[{"uFlatten", "[", 
                    RowBox[{"{", 
                    TemplateBox[{"1"},
                    "OutputSizeLimit`Skeleton"], "}"}], "]"}]}], "]"}], "[", 
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"0", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}]}], "]"}], "]"}]}]}], "}"}],
                    ",", 
                   TemplateBox[{"22"},
                    "OutputSizeLimit`Skeleton"], ",", 
                   RowBox[{"{", 
                    RowBox[{
                    RowBox[{
                    RowBox[{"f", "[", 
                    RowBox[{
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "1"}], "}"}], ",", 
                    RowBox[{"{", 
                    RowBox[{"2", ",", "2"}], "}"}]}], "]"}], "\[Rule]", 
                    RowBox[{
                    RowBox[{"ReplaceAll", "[", 
                    TemplateBox[{"1"},
                    "OutputSizeLimit`Skeleton"], "]"}], "[", 
                    RowBox[{"f", "[", 
                    TemplateBox[{"1"},
                    "OutputSizeLimit`Skeleton"], "]"}], "]"}]}], ",", 
                    TemplateBox[{"1"},
                    "OutputSizeLimit`Skeleton"]}], "}"}]}], "}"}], "]"}]}], "//.",
                "\[VeryThinSpace]", "rules"}], ")"}], "[", 
             TemplateBox[{"1"},
              "OutputSizeLimit`Skeleton"], "]"}], "]"}], ",", 
           TemplateBox[{"1"},
            "OutputSizeLimit`Skeleton"]}], "]"}],
         Short[#, 5]& ],
        BaseStyle->{Deployed -> False},
        StripOnInput->False]},
      {GridBox[{
         {
          TagBox[
           TooltipBox[
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource[
                "FEStrings", "sizeBriefExplanation"], StandardForm],
               ImageSizeCache->{48., {2., 10.}}],
              StripOnInput->False,
              DynamicUpdating->True], "OSLText",
             StripOnInput->False],
            StyleBox[
             DynamicBox[
              ToBoxes[
               FEPrivate`FrontEndResource["FEStrings", "sizeExplanation"], 
               StandardForm]], DynamicUpdating -> True, StripOnInput -> 
             False]],
           Annotation[#, 
            Style[
             Dynamic[
              FEPrivate`FrontEndResource["FEStrings", "sizeExplanation"]], 
             DynamicUpdating -> True], "Tooltip"]& ], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowLess"], 
                StandardForm],
               ImageSizeCache->{48., {1., 10.}}],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowLess"], 
                StandardForm]],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           BaselinePosition->Baseline,
           
           ButtonFunction:>OutputSizeLimit`ButtonFunction[
            OutputSizeLimit`Defer, 375, 30500012874478046441, 5/2],
           Enabled->True,
           Evaluator->Automatic,
           Method->"Queued"], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowMore"], 
                StandardForm],
               ImageSizeCache->{48., {1., 10.}}],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowMore"], 
                StandardForm]],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           BaselinePosition->Baseline,
           
           ButtonFunction:>OutputSizeLimit`ButtonFunction[
            OutputSizeLimit`Defer, 375, 30500012874478046441, 5 2],
           Enabled->True,
           Evaluator->Automatic,
           Method->"Queued"], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowAll"], 
                StandardForm],
               ImageSizeCache->{48., {1., 10.}}],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowAll"], 
                StandardForm]],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           BaselinePosition->Baseline,
           
           ButtonFunction:>OutputSizeLimit`ButtonFunction[
            OutputSizeLimit`Defer, 375, 30500012874478046441, Infinity],
           Enabled->True,
           Evaluator->Automatic,
           Method->"Queued"], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeChangeLimit"], 
                StandardForm],
               ImageSizeCache->{81., {1., 10.}}],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeChangeLimit"], 
                StandardForm]],
              StripOnInput->False,
              DynamicUpdating->True], "OSLControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           BaselinePosition->Baseline,
           ButtonFunction:>FrontEndExecute[{
              FrontEnd`SetOptions[
              FrontEnd`$FrontEnd, 
               FrontEnd`PreferencesSettings -> {"Page" -> "Advanced"}], 
              FrontEnd`FrontEndToken["PreferencesDialog"]}],
           Evaluator->None,
           Method->"Preemptive"]}
        },
        AutoDelete->False,
        FrameStyle->GrayLevel[0.85],
        GridBoxDividers->{"Columns" -> {False, {True}}},
        GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}},
        GridBoxSpacings->{"Columns" -> {{2}}}]}
     },
     DefaultBaseStyle->"Column",
     GridBoxAlignment->{
      "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, 
       "RowsIndexed" -> {}},
     GridBoxDividers->{
      "Columns" -> {{False}}, "ColumnsIndexed" -> {}, "Rows" -> {{False}}, 
       "RowsIndexed" -> {}},
     GridBoxItemSize->{
      "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, 
       "RowsIndexed" -> {}},
     GridBoxSpacings->{"Columns" -> {
         Offset[0.27999999999999997`], {
          Offset[0.5599999999999999]}, 
         Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
         Offset[0.2], 
         Offset[1.2], {
          Offset[0.4]}, 
         Offset[0.2]}, "RowsIndexed" -> {}}],
    BaseStyle->"OutputSizeLimit",
    FrameMargins->{{12, 12}, {0, 15}},
    FrameStyle->GrayLevel[0.85],
    RoundingRadius->5,
    StripOnInput->False],
   Deploy,
   DefaultBaseStyle->"Deploy"],
  If[30500012874478046441 === $SessionID, 
   Out[375], Message[
     MessageName[Syntax, "noinfoker"]]; Missing["NotAvailable"]; 
   Null]]], "Output",
 CellChangeTimes->{3.835908588534459*^9, 3.8359086453827085`*^9, 
  3.8359086930892916`*^9},ExpressionUUID->"f055006b-672c-4f5d-92a3-\
f78027798936"]
}, Open  ]]
}, Open  ]]
},
WindowSize->{1920, 997},
WindowMargins->{{-8, Automatic}, {Automatic, -8}},
FrontEndVersion->"11.1 for Microsoft Windows (64-bit) (2017\:5e745\:670816\
\:65e5)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[558, 20, 125, 1, 47, "Input", "ExpressionUUID" -> \
"a7c65aa8-9855-4208-8b17-9bf329e17ea7"],
Cell[CellGroupData[{
Cell[708, 25, 155, 3, 101, "Title", "ExpressionUUID" -> \
"cd12e2d6-1bc9-4d5b-ab1e-76b9842134d2"],
Cell[866, 30, 269, 7, 30, "Input", "ExpressionUUID" -> \
"ec3e8cf8-f3b7-46f6-a083-9e10bd52206b"],
Cell[1138, 39, 577, 15, 30, "Input", "ExpressionUUID" -> \
"d86cc622-11ae-404e-9e6c-06c0358b480e"],
Cell[CellGroupData[{
Cell[1740, 58, 3115, 84, 125, "Input", "ExpressionUUID" -> \
"8a58856a-826a-412a-a98e-3cf2430fdfa9"],
Cell[4858, 144, 978, 25, 30, "Output", "ExpressionUUID" -> \
"274b7a1a-e000-4469-86e9-e7582f93b679"]
}, Open  ]],
Cell[5851, 172, 4398, 139, 310, "Input", "ExpressionUUID" -> \
"427cf7b1-3a08-4fbe-b4d7-f3fe3bed0699"],
Cell[10252, 313, 443, 13, 71, "Input", "ExpressionUUID" -> \
"14cefa57-2b6f-4fa8-8089-95ab8cfbda13"],
Cell[10698, 328, 1774, 50, 180, "Input", "ExpressionUUID" -> \
"d86518f5-d519-4b1c-aac5-c01dd4af35fd"]
}, Open  ]],
Cell[CellGroupData[{
Cell[12509, 383, 154, 3, 101, "Title", "ExpressionUUID" -> \
"509c653d-4277-46a3-aeb3-c143f0c108d3"],
Cell[12666, 388, 5560, 157, 363, "Input", "ExpressionUUID" -> \
"22068351-f5d1-4dc9-a75f-01cdb4c35478"]
}, Open  ]],
Cell[CellGroupData[{
Cell[18263, 550, 156, 3, 101, "Title", "ExpressionUUID" -> \
"08169047-3854-42b4-89d2-20550adc0538"],
Cell[18422, 555, 579, 18, 66, "Input", "ExpressionUUID" -> \
"72a3e070-caa7-454e-a588-5fa4f1a20e3b"],
Cell[CellGroupData[{
Cell[19026, 577, 544, 15, 103, "Input", "ExpressionUUID" -> \
"67c4dc11-a1a4-4c0d-a440-482e168578f6"],
Cell[19573, 594, 523, 11, 24, "Message", "ExpressionUUID" -> \
"21f3468e-6ff5-47fb-b7b9-541ccb9c355d"],
Cell[20099, 607, 496, 10, 24, "Message", "ExpressionUUID" -> \
"8d49697c-e19e-40dc-9a21-d0a177a4e83d"],
Cell[20598, 619, 525, 11, 24, "Message", "ExpressionUUID" -> \
"2ce4c5ef-0bab-40aa-9239-3f681f491886"],
Cell[21126, 632, 542, 10, 24, "Message", "ExpressionUUID" -> \
"0863201f-4163-4bdc-a301-1d21e72d1ed0"],
Cell[21671, 644, 3417, 50, 47, "Message", "ExpressionUUID" -> \
"343dd9c8-33dc-4f8f-805d-e2eed0074cb4"],
Cell[25091, 696, 22925, 568, 202, "Output", "ExpressionUUID" -> \
"f055006b-672c-4f5d-92a3-f78027798936"]
}, Open  ]]
}, Open  ]]
}
]
*)

